package com.ruoyi.common.core.domain.entity.socket.bean;

import com.ruoyi.common.constant.socket.DeviceTypeContant;
import lombok.Data;

@Data
public class PropellerInfo extends BaseDataPiece {
    /**
     * 栅格状态 2个bit。 可能值：0：无操作，1：栅格打开，2：栅格关闭，3：无效值
     */
    private byte gridStatus;
    /**
     * 舵角 2个字节 取值范围：-90° ~ 90° 分辨率：0.01° 32767对应0°
     */
    private short rudderAngle;
    /**
     * 翻斗/抬升百分比 1个字节 取值范围：-100%-100% 分辨率：1% 中间位置对应0%，最上位置对应100%，最下位置对应-100%，127代表0%
     */
    private byte tippingBucketPercent;
    /**
     * 舵角百分比 1个字节 取值范围：-100%-100% 分辨率：1% -100%表示左舵最大角度，0%表示舵角0°，100%表示右舵最大角度，127代表0%
     */
    private byte rudderAnglePercent;

    public PropellerInfo(byte systemCode, byte deviceCode) {
        super(systemCode, deviceCode);
    }

    @Override
    public int getDataPieceLength() {
        return 0;
    }

    @Override
    public void setDeviceType() {
        deviceType = DeviceTypeContant.PropellerInfo;
    }
}
